﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TVH.Comum.Db;

namespace TVH.Entidade
{
    [Tabela("T03_ITEM_PEDIDO")]
    [Serializable]
    public class ItemPedido
    {
        [UsarNo(UsarNoAttribute.EnumUsarEm.Alteracao | UsarNoAttribute.EnumUsarEm.Exclusao)]
        [Coluna("cd_item_pedido", true)]
        public int? Id { get; set; }

        [UsarNo(UsarNoAttribute.EnumUsarEm.Alteracao | UsarNoAttribute.EnumUsarEm.Insercao)]
        [Coluna("cd_pedido")]
        public int? CodigoPedido { get; set; }

        [UsarNo(UsarNoAttribute.EnumUsarEm.Alteracao | UsarNoAttribute.EnumUsarEm.Insercao)]
        [Coluna("cd_produto")]
        public int? CodigoProduto { get; set; }

        [Coluna("ds_produto")]
        public string DescricaoProduto { get; set; }

        [Coluna("cd_categoria")]
        public int? IdCategoria { get; set; }

        [Coluna("ds_categoria")]
        public string DescricaoCategoriaProduto { get; set; }

        [UsarNo(UsarNoAttribute.EnumUsarEm.Alteracao | UsarNoAttribute.EnumUsarEm.Insercao)]
        [Coluna("nr_quantidade")]
        public int? Quantidade { get; set; }

        [UsarNo(UsarNoAttribute.EnumUsarEm.Alteracao | UsarNoAttribute.EnumUsarEm.Insercao)]
        [Coluna("status")]
        public string Status { get; set; }

        [UsarNo(UsarNoAttribute.EnumUsarEm.Alteracao | UsarNoAttribute.EnumUsarEm.Insercao)]
        [Coluna("valor")]
        public decimal? Valor { get; set; }

        public Pedido Pedido { get; set; }

        public string DescricaoQuarto { get { return Pedido.DescricaoQuarto; } }

        public string DescricaoPredio { get { return Pedido.DescricaoPredio; } }

        public DateTime DataPedido { get { return Pedido.DataPedido.Value; } }

        public TimeSpan TempoDecorrido { get { return Pedido.TempoDecorrido; } }
    }
}
